Eclipseを使用したMobile Cloud Service APIの使用


オプション



作業を開始する前に

目的

このチュートリアルでは、Mobile Cloud Service(MCS)のモバイル・バックエンドに接続し、APIを使用する操作について説明します。スクリーンショットは、MacでiOSシミュレータを使用したものです。手順に従い、Androidエミュレータを使用することもできます。

このチュートリアルでは、まずOracle Enterprise Pack for Eclipse(OEPE)を構成して起動し、機能とAMXページを含むMAFアプリケーションを作成します。次に、MCSインスタンスに接続し、カスタムのAPI定義をインポートします。OEPEからAPIをテストし、データを取得できることを確認したら、APIへのアクセスをサポートするためにアーチファクト・クラスを作成します。続いて、AMXページを容易に開発できるよう、データ制御を作成します。APIではセキュリティが定義されているため、認可機能をMAFアプリケーションに追加します。最後に、アプリケーションをシミュレータ/エミュレータにデプロイし、インシデント・レコードを取得するかどうかをテストします。

必要事項

このチュートリアルを完了するには、Oracle Enterprise Pack for Eclipse、およびAndroid SDKまたはXcode 6(iOSを使用する場合)のいずれかをインストールし、構成する必要があります。

iOS環境を使用する場合は、次のチュートリアルを使用して開発環境を設定できます。iOS環境の設定と構成

Android環境を使用する場合は、次のチュートリアルを使用できます。Android環境の設定と構成

必要なファイル
ダウンロード・ファイル

最終的なアプリケーションを確認するには、「Download」ボタンをクリックして最終的なアプリケーションのzipファイルをダウンロードし、OEPEのドキュメント・フォルダに解凍してください。

ソリューションのアプリケーションをダウンロード

手順1:Eclipseを起動し、Mobile Application Frameworkアプリケーションと連動するように構成する

このセクションでは、Eclipse(OEPE)を起動し、Mobile Application Frameworkアプリケーションと連動するように構成します。

  1. Eclipseを検索し、起動します。

    サンプル図
  2. OEPEで、「Eclipse」 > 「Preferences」の順にクリックします。

    サンプル図
  3. iOSを使用している場合は、Preferencesダイアログで「Oracle」 > 「Mobile Application Framework」 > 「iOS」の順に選択し、「Add」をクリックします。ポップアップ・ダイアログで、参照アイコンを使用してXcodeインストールへのパスを選択します。

    サンプル図

    Androidを使用している場合は、Preferencesダイアログで「Oracle」 > 「Mobile Application Framework」 > 「Android SDK」を選択し、「Add」をクリックします。ポップアップ・ダイアログで、参照アイコンを使用してAndroidインストールへのパスを指定します。

    サンプル図
  4. SDKを指定すると、OEPEでは自動的に残りのフィールドが次のように指定されます。「OK」をクリックして構成を完了します。

    iOS構成:

    サンプル図

    Android構成:

    サンプル図
  5. 引き続きPreferencesで「Java」ノードを展開し、「Installed JREs」を選択します。

    Add」ボタンをクリックします。

    サンプル図
  6. JRE Typeで「Standard VM」を選択し、「Next」をクリックします。

    サンプル図
  7. JRE Definitionダイアログで「Directory」ボタンをクリックします。

    ルートJDK 1.8ディレクトリを検索し、選択します。「Open」ボタンをクリックします。

    サンプル図
  8. JRE Definitionダイアログに戻り、「Finish」をクリックします。

    サンプル図
  9. Installed JREsで、新たに追加したJREを選択してデフォルトにします。

    Apply」 > 「OK」を順にクリックします。

    サンプル図

手順2:モバイル・アプリケーション、機能、データを保持するページを作成する

このセクションでは、MAFアプリケーションを作成し、アプリケーションのエントリ・ポイントとなる機能を定義し、インシデント・データを保持するための空のページを作成します。

  1. メニューから、「File」 > 「New」 > 「Other」 > 「MAF Application」を順に選択します。

    サンプル図
  2. MAF Applicationダイアログ・ボックスでApplication display nameFiFに設定します。

    Next」をクリックします。

    サンプル図
  3. ここはデフォルト値のままで構いません。「Next」をクリックします。

    サンプル図
  4. ここでは、使用したい適切なデプロイメント・ターゲットを確認します。一覧のオプションは、プリファレンスで定義されている内容と一致しています。

    Finish」をクリックします。

    サンプル図
  5. 次に、MAFアプリケーションのエントリ・ポイントとなる機能を定義します。

    Project Explorerで「FIFView」 > 「MAF」ノードを順に展開し、「MAF Feature Editor」をダブルクリックします。エディタでは、エクスプローラの右にmaf-feature.xmlファイルが表示され、編集できるようになっています。

    サンプル図
  6. エディタで、Outlineヘッダーの隣の緑のプラス・サインをクリックします。

    New ObjectポップアップでIdincidentsに設定します。

    OK」をクリックします。

    サンプル図
  7. Incidents」ノードが選択された状態で、緑のプラス・サインを再度クリックします。

    New Objectポップアップで「Content」ノードを展開し、「AMX page」ページを選択します。

    デフォルトのId値のままで「OK」をクリックします。

    サンプル図
  8. 空のページを素早く作成します。「Incident.1」が選択された状態で、右の3つの黄色い星をクリックします。星の上にマウスオーバーすると、「Create」ツールチップが表示されます。

    サンプル図
  9. New MAF PageダイアログでFile nameincidents.amxに設定し、「header」ファセットのみ選択します。

    Finish」をクリックします。

    サンプル図
  10. エディタでIndidents.amxが開きます。

    header facet」を検索し、outputText値をIncidentsに設定します。

    すべての作業を保存します。

    サンプル図

手順3:MAFアプリケーションをMCSインスタンスに接続する

チュートリアルのこの部分では、MAFアプリケーションをMCSインスタンスに接続し、RAMLドキュメントを調査してREST APIとしてインポートします。

  1. 新たなクラウド接続を確立するには、「Oracle Cloud」タブを、次に「Connect」テキストを順にクリックします。

    サンプル図
  2. MCS識別ドメイン、ユーザー名、パスワードを入力します。「Finish」をクリックします。

    サンプル図
  3. MCSとの接続が確立されると、インスタンスが問合せを受け、コンポーネントがエクスプローラに表示されます。

    ノードを展開し、開発API、モバイル・バックエンド、コネクタを表示させます。

    サンプル図
  4. Backends」 > 「OEPE_FIF_Technician 1.0」 > 「API」ノードを順に展開し、「OEPE FIF IncidentReport 1.0」を選択します。

    サンプル図
  5. FIF_IncidentReport 1.0」を右クリックし、「Open Definition」を選択します。

    サンプル図

     

  6. API向けのRAMLドキュメントがフェッチされ、エディタに表示されます。

    サンプル図
  7. 次に、RAMLドキュメントをOEPEにインポートします。

    OEPE FIF IncidentReport 1.0」を右クリックし、「Import Definition」を選択します。

    サンプル図
  8. Backend Informationページでは、このAPIが匿名アクセスをサポートしていないことが分かります。APIでは、このプロパティとその値はMCSで定義されます。

    このステップは、セキュアなAPIにのみ適用されます。匿名アクセスの場合は省略できるため、「Next」をクリックします。

    サンプル図
  9. RAMLプレビューでは、インポートに含めたいリソースとメソッドを選択できます。

    すべて選択し、「Finish」をクリックします。

    サンプル図
  10. エディタにREST APIが表示されます。

    エディタで「connection://OEPE_FIF_IncidentReport_1_0」を選択します。

    次に、IDEで「Connections」ビューを検索します。

    FIF」ノードを展開し、「OEPE_FIF_IncidentReport_1_0」ノードをダブルクリックします。

    サンプル図
  11. Manage Connectionダイアログでは、MCS定義を確認できます。

    Show/Hide Policies」ボタンをクリックし、すべての定義を表示させます。先ほど述べたように、これらのプロパティはMCSのAPI定義で設定されています。

    サンプル図
  12. Next」をクリックし、コネクションを確認するか、新たに作成します。

    サンプル図
  13. Next」を再びクリックし、コネクション・プロパティを確認します。

    サンプル図
  14. Next」をもう一度クリックし、ログインURLとモバイル・バックエンドIDを確認します。

    Cancel」をクリックしてダイアログを閉じます。

    サンプル図

手順4:REST APIをサポートするクラスを調査し、生成する

このセクションでは以下を行います。

  1. エディタで、「connection://FIF_IncidentReport_1_0」 > 「incidents」 > 「Requests」を順に展開します。

    REST APIの仕様とエンドポイントが表示されます。

    (GET) getIncidents」リクエストを選択します。

    サンプル図
  2. Query Parameter」タブに移動します。

    contact」および「gps」パラメータを削除し、technicianのみ維持します。

    次に、technicianを編集してValuejoe@fixit.comに設定します。

    変更を保存します。

    サンプル図
  3. 右上隅にある世界のアイコンをクリックしてRESTクライアントにコピーします。

    サンプル図
  4. アドレスとクエリ・パラメータを含むgetIncidentsリクエストのデータが、RESTクライアント・ページにコピーされます。この例では、(GET) getIncidentsリクエストは自動的にAddressフィールドにコピーされます。

    右上隅にある「Send Request」をクリックして「getIncidents」を実行します。

    サンプル図
  5. APIは匿名認証を許可しないため、APIを実行する権限を持つユーザーのユーザー名とパスワードを入力する必要があります。

    プロパティを入力し、「OK」をクリックします。

    サンプル図
  6. リクエストが送信され、レスポンスが右側に表示されます。ステータス200が返されるはずです。

    サンプル図
  7. Raw Content」タブをクリックし、返されたデータを確認します。

    サンプル図

    データを詳しく表示するには、Responseヘッダーの最大化アイコンをクリックします。

    データの確認を終えたら、リストア・アイコンをクリックして表示を戻します。

    サンプル図
  8. エディタの下部にある「REST API」タブをクリックします。

    右側にある「Output」タブをクリックし、「Incidents」を選択します。

    サンプル図

    ここで、インシデントの出力で使用されるデータ・タイプを調査します。

    エディタの下部にある「Data Types」タブをクリックし、「Incidents」ノードを展開して選択します。属性を含むインシデントの詳細が表示されます。

    サンプル図
  9. 次に、APIをサポートするクラスを作成します。エディタの下部にある「REST API 」タブを再度クリックします。

    APIの右上にアイコンが表示されています。左から2番目のアイコン「Artifact Generator」をクリックします。これにより、RESTサービスをサポートするために必要なすべてのJavaクラスを作成するプロセスが開始されます。

    サンプル図
  10. Artifact Generatorが開かれ、作成するアーチファクトのタイプを選択できます。この例では、デフォルトのJava 1.8 REST Client POJOです。

    Next」をクリックします。

    サンプル図
  11. ここでは、クラスの作成中に使用されるリソースのパス、名前、URLを確認できます。

    Next」をクリックします。

    サンプル図
  12. ここでは、クラスとパッケージの名前を変更できます。分かりやすいように、Java Namefiftechに設定します。

    Next」をクリックします。

    サンプル図
  13. Generatorの設定で「Next」をクリックします。

    サンプル図
  14. Service ClassページでClassFiFRESTServiceに設定し、右側の「Add」ボタンをクリックします。

    サンプル図
  15. Select Requestsポップアップで「(GET) getIncidents」ノードを選択し、「OK」をクリックします。

    サンプル図
  16. publicメソッドとして公開できるリクエストがあるため、「Finish」をクリックします。

    サンプル図
  17. これから行われることを表示するConfirm Changesダイアログが現れます。

    このダイアログでは、上部で各クラスを選択すると、作成されるコードを下部で確認できます。

    OK」をクリックします。

    サンプル図
  18. Project Explorer」タブを再びクリックし、「FIFView」 >「src」 >「mobile.model.datatype」 >「mobile.model.service.fiftech」ノードを順に展開し、生成されたコードを確認します。

    サンプル図
  19. 次の2つのステップでは、ページからサービスにアクセスするためのデータ制御を作成します。

    FiFRESTService.java」を右クリックし、「Model Components」 > 「Create Data Control…」を順に選択します。

    サンプル図
  20. Data Control Detailsペインはデフォルト値のままで構いません。「Finish」をクリックします。

    サンプル図
  21. どのファイルが影響を受けるかが通知されます。

    OK」をクリックして通知を閉じます。

    サンプル図
  22. Data Controlsエリアでは、「FiFRESTService」データ制御を展開して、使用可能なコレクションとメソッドを確認できます。

    サンプル図

手順5:データとセキュリティを追加してIncidentページを構築する

このセクションでは、インシデントを表示するページにデータ・コンポーネントを追加します。また、セキュリティを使用するように機能を有効化し、アプリケーションが認証を行うログイン・サーバーを定義します。

  1. Project Explorerで、「FiFView」 > 「ViewContent」ノードを順に展開し、「Incidents.amx」ファイルをダブルクリックします。

    エディタにAMXファイルが表示されます。

    サンプル図
  2. Palette」タブ > 「Data」サブ・タブを順にクリックします。Data Controlsが表示されます。

    FiFRESTService」 > 「incidents」ノードを順に展開し、コレクションとメソッドを表示させます。

    サンプル図
  3. items」コレクションをエディタのAMXページにドラッグし、

    AMXページの</amx:facet></amx:panelPage>の間にドロップします。

    ポップアップ・メニューで「List View」を選択します。

    サンプル図
  4. Component Galleryで「Start-End」フォーマットを選択します。

    Next」をクリックします。

    サンプル図
  5. List View Configurationページで、ドロップダウンを使用してStart textをタイトルに、End textをステータスに設定します。

    残りの値はデフォルトのままにし、「Finish」をクリックします。

    すべての作業を保存します。

    サンプル図
  6. このステップは、セキュアなAPIにのみ適用されます。匿名アクセスを使用するAPIの場合は、このセクションの残りのステップは省略し、「手順6:構成ファイルを作成し、アプリケーションをデプロイおよびテストする」に進みます。

    APIにはセキュリティが採用されているため、機能の一部としてセキュリティを含む必要があります。

    MAF Feature Editor(maf-feature.xml)を再度開き、「Incidents」機能を選択します。

    Enable security」チェックボックスを選択し、作業内容を保存します。

    サンプル図
  7. 機能がセキュアになるようフラグ付けされたため、アプリケーションのセキュリティを構成します。maf-application.xmlファイルでアプリケーションのセキュリティを有効化します。

    Mobile Featuresページで、アプリケーション名(この例ではFIF)の上にマウスを移動すると、ファイルのロケーションが表示されます。

    サンプル図
  8. アプリケーション名の左のアイコンをクリックすると、Mobile Application(maf-application.xml)ページに移動します。

    サンプル図

    セキュリティを含む、アプリケーションの詳細を確認できます。Registered Featuresに赤いXが表示されています。これは、機能にセキュリティが必要であるものの、アプリケーションで定義されていないことを表します。

    サンプル図
  9. Security」タブをクリックしてサーバーの詳細を設定します。

    サンプル図
  10. Default Login Serverプロパティの隣の「Browse」ボタンをクリックします。認証が行われる、MCSまたは任意の別のサーバーへの接続を選択できます。

    OEPE_FiF_IncidentReport_1_0_http」接続を選択し、「OK」をクリックします。

    サンプル図
  11. すべての作業内容を保存します。

手順6:構成ファイルを作成し、アプリケーションをデプロイおよびテストする

チュートリアルのこの部分では、シミュレータ/エミュレータのデプロイメント構成ファイルを作成し、アプリケーションをデプロイし、テストします。

  1. デプロイメント・プロセスの最初のステップでは、構成ファイルを作成します。ここでは、デバッグ構成を使用します。

    OEPEツールバーで、左から5番目のアイコン「Debug」をクリックします。

    ドロップダウン・メニューで「Debug Configuration」を選択します。

    サンプル図
  2. Debug Configurationで「MAF Application」ノードを選択し、右クリックします。

    メニューで「New」を選択します。

    サンプル図
  3. 名前をmcs-fifに設定し、iOSを使用している場合は「Simulator Name」を指定します。

    Apply」をクリックします。

    サンプル図

    Androidを使用している場合は、エミュレータが設定されていることを確認します。

    サンプル図
  4. Debug」ボタンをクリックし、デプロイメント・プロセスを開始します。

    プロセスが完了するまで、Consoleで進捗状況をモニタリングできます。

    サンプル図
  5. シミュレータ/エミュレータが起動され、続いてFiFアプリケーションが起動されます。

    通知を送信するよう促される場合があります。「OK」をクリックして続行します。

    サンプル図
  6. 先ほどRESTクライアントを使用してテストしたように、APIを実行するアクセス権を付与されているFiF専門技術者のユーザー名とパスワードが必要です。

    ユーザー名パスワードを入力します。

    続いて「Sign In」をクリックします。

    iOSシミュレータの場合

    サンプル図

    Androidエミュレータの場合

    サンプル図
  7. アプリケーションがMCSに接続され、実行したいAPI(この場合はIncidents)に対して認証されます。

    APIは、APIを使用してデータを取得し、データ制御を使用して作成されたページに表示します。

    iOSシミュレータの場合

    サンプル図

    Androidエミュレータの場合

    サンプル図
  8. これでチュートリアルは終了です。Mobile Cloud Serviceコンポーネントを使用し、使用するMobile Application Frameworkアプリケーションが作成されました。